#ifndef ALGO_CDP_H
#define ALGO_CDP_H

#include "algohub_export.h"
#include <vector>
#include <utility>

namespace algo
{
	class CDPPrivate;
	class ALGOHUB_EXPORT CDP
	{
	public:
		CDP();
		~CDP();

		std::vector<double> calculateCDP(
			const double& target_probability,
			const std::vector<double>& sonar_distribution,
			double frequency = 0.1,
			double time = 1) const;

		std::vector<double> calculateCPCD(
			const std::vector<double>& sonar_distribution,
			double frequency = 0.1,
			double time = 1) const;

	private:
		CDPPrivate* d;
	};
}

#endif ALGO_CDP_H